package com.ruoyi.common.constant;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 阿里云短信常量
 */
public class LianLuSmsConstants {

    @AllArgsConstructor
    @Getter
    public enum TemplateEnum {
        /**
         * 赠送到店领取
         * 推广短信
         * 【阜鑫渔港加油站】为了感谢您对本加油站的支持，赠送您一份{%s1%}，请到店领取使用，谢谢。退订回T
         */
        GIFT1("giftReceive", "70014211", "为了感谢您对本加油站的支持，赠送您一份{%s1%}，请到店领取使用，谢谢。退订回T"),

        /**
         * 赠送到店领取
         * 推广短信
         * 【阜鑫渔港加油站】为了感谢您对本加油站的支持，赠送您一份{%s1%}，请打开山东石化新庄958站微信小程序使用，谢谢。退订回T
         */
        GIFT2("giftReceive2", "70014211", "为了感谢您对本加油站的支持，赠送您一份{%s1%}，请打开阜鑫渔港加油站微信小程序使用，谢谢。退订回T"),
        /**
         * 充值成功
         * 通知
         */
        MEMBER_RECHARGE("recharge", "70059347","您的充值已成功，充值金额为{%s1%}元，当前余额为{%s3%}元，请加油使用，感谢惠顾。"),
        /**
         * 一键加油微信支付通知
         * 通知
         */
        PETROL_WX("petrolWx", "70059346","您于{%s1%}在{%s3%}使用微信支付加油成功，加油金额为{%s5%}元，感谢惠顾。"),
        /**
         * 一键加油余额支付通知
         */
        PETROL_BALANCE("petrolBalance", "70059348","您于{%s1%}}在{%s3%}使用余额支付加油成功，加油金额为{%s5%}元，当前余额为{%s7%}元，感谢惠顾。"),
        NULL("","",""),
        ;
        private String code;
        private String templateId;
        private String templateText;

        public static LianLuSmsConstants.TemplateEnum match(String code) {
            for (LianLuSmsConstants.TemplateEnum one : LianLuSmsConstants.TemplateEnum.values()) {
                if (one.getCode().equalsIgnoreCase(code)) {
                    return one;
                }
            }
            return LianLuSmsConstants.TemplateEnum.NULL;
        }
    }

    @AllArgsConstructor
    @Getter
    public enum SignEnum {
        DEFAULT(0, "阜鑫渔港加油站"),
        ;
        private int shopId;
        private String sign;

        public static String match(Long shopId) {
            for (LianLuSmsConstants.SignEnum one : LianLuSmsConstants.SignEnum.values()) {
                if (one.getShopId() == shopId) {
                    return one.getSign();
                }
            }
            return LianLuSmsConstants.SignEnum.DEFAULT.getSign();
        }

    }
}
